home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / m68knommu / include / asm / segment.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  958 b   |  52 lines

  1. #ifndef _M68K_SEGMENT_H
  2. #define _M68K_SEGMENT_H
  3.  
  4. /* define constants */
  5. /* Address spaces (FC0-FC2) */
  6. #define USER_DATA     (1)
  7. #ifndef __USER_DS
  8. #define __USER_DS     (USER_DATA)
  9. #endif
  10. #define USER_PROGRAM  (2)
  11. #define SUPER_DATA    (5)
  12. #ifndef __KERNEL_DS
  13. #define __KERNEL_DS   (SUPER_DATA)
  14. #endif
  15. #define SUPER_PROGRAM (6)
  16. #define CPU_SPACE     (7)
  17.  
  18. #ifndef __ASSEMBLY__
  19.  
  20. typedef struct {
  21.     unsigned long seg;
  22. } mm_segment_t;
  23.  
  24. #define MAKE_MM_SEG(s)    ((mm_segment_t) { (s) })
  25. #define USER_DS        MAKE_MM_SEG(__USER_DS)
  26. #define KERNEL_DS    MAKE_MM_SEG(__KERNEL_DS)
  27.  
  28. /*
  29.  * Get/set the SFC/DFC registers for MOVES instructions
  30.  */
  31.  
  32. static inline mm_segment_t get_fs(void)
  33. {
  34.     return USER_DS;
  35. }
  36.  
  37. static inline mm_segment_t get_ds(void)
  38. {
  39.     /* return the supervisor data space code */
  40.     return KERNEL_DS;
  41. }
  42.  
  43. static inline void set_fs(mm_segment_t val)
  44. {
  45. }
  46.  
  47. #define segment_eq(a,b)    ((a).seg == (b).seg)
  48.  
  49. #endif /* __ASSEMBLY__ */
  50.  
  51. #endif /* _M68K_SEGMENT_H */
  52.